package com.newjiabo.ski.domain.dto;

import com.newjiabo.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * {类内容}
 *
 * @author CaoMengHui.
 * @version 1.0
 * @since 2023/10/19 11:11
 */
public class AssessDto {
    /**
     * 评论对象id
     */
    @ApiModelProperty(value = "评论对象id")
    private String objectId;

    /**
     * 评论对象类型
     *
     * @see com.newjiabo.ski.domain.enums.AssessObjectEnum
     */
    @ApiModelProperty(value = "评论对象类型", allowableValues = "ORDER,AFTER_ORDER")
    private String objectType;

    /**
     * 会员id
     */
    @ApiModelProperty(value = "会员id")
    private String memberId;

    /**
     * 会员名称
     */
    @ApiModelProperty(value = "会员名称")
    private String memberName;

    /**
     * 会员头像
     */
    @ApiModelProperty(value = "会员头像")
    private String memberFace;

    /**
     * 评价类别
     * @see com.newjiabo.ski.domain.enums.AssessObjectEnum
     */
    @ApiModelProperty(value = "评价类别",allowableValues = "ORDER,AFTER_ORDER")
    private AssessTypeDto assessTypeDto;

    /**
     * 会员描述
     */
    @ApiModelProperty(value = "会员描述")
    private String memberDescribe;

    public String getObjectId() {
        return objectId;
    }

    public void setObjectId(String objectId) {
        this.objectId = objectId;
    }

    public String getObjectType() {
        return objectType;
    }

    public void setObjectType(String objectType) {
        this.objectType = objectType;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    public String getMemberName() {
        return memberName;
    }

    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    public String getMemberFace() {
        return memberFace;
    }

    public void setMemberFace(String memberFace) {
        this.memberFace = memberFace;
    }

    public AssessTypeDto getAssessTypeDto() {
        return assessTypeDto;
    }

    public void setAssessTypeDto(AssessTypeDto assessTypeDto) {
        this.assessTypeDto = assessTypeDto;
    }

    public String getMemberDescribe() {
        return memberDescribe;
    }

    public void setMemberDescribe(String memberDescribe) {
        this.memberDescribe = memberDescribe;
    }

    public class AssessTypeDto {

        @ApiModelProperty(value = "拍摄质量,1-5颗星")
        private Integer shotQuality = 5;

        @ApiModelProperty(value = "成片质量,1-5颗星")
        private Integer pieceQuality = 5;

        @ApiModelProperty(value = "购买过程,1-5颗星")
        private Integer buyProcess = 5;

        public Integer getShotQuality() {
            return shotQuality;
        }

        public void setShotQuality(Integer shotQuality) {
            this.shotQuality = shotQuality;
        }

        public Integer getPieceQuality() {
            return pieceQuality;
        }

        public void setPieceQuality(Integer pieceQuality) {
            this.pieceQuality = pieceQuality;
        }

        public Integer getBuyProcess() {
            return buyProcess;
        }

        public void setBuyProcess(Integer buyProcess) {
            this.buyProcess = buyProcess;
        }

        @Override
        public String toString() {
            return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
                    .append("shotQuality", getShotQuality())
                    .append("pieceQuality", getPieceQuality())
                    .append("buyProcess", getBuyProcess())
                    .toString();
        }
    }
}
